<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><title>情感分析简介 | kiloGrand</title><meta name="keywords" content="sentiment analysis"><meta name="author" content="kiloGrand"><meta name="copyright" content="kiloGrand"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="本文是对情感分析这个问题(领域)的调研，对于问题的定义和介绍主要参考了Sentiment Analysis: mining sentiments, opinions, and emotions，虽然这本书写于2015年，很多当时SOTA的方法现在已经过时了，但是本书对于问题的介绍和描述非常详细和清晰，强烈建议对情感分析领域有兴趣的读者阅读。 简介术语解释情感分析(sentiment analysi">
<meta property="og:type" content="article">
<meta property="og:title" content="情感分析简介">
<meta property="og:url" content="https://kilogrand.gitee.io/2022/10/02/nlp-sentiment-analysis-survey/index.html">
<meta property="og:site_name" content="kiloGrand">
<meta property="og:description" content="本文是对情感分析这个问题(领域)的调研，对于问题的定义和介绍主要参考了Sentiment Analysis: mining sentiments, opinions, and emotions，虽然这本书写于2015年，很多当时SOTA的方法现在已经过时了，但是本书对于问题的介绍和描述非常详细和清晰，强烈建议对情感分析领域有兴趣的读者阅读。 简介术语解释情感分析(sentiment analysi">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://kilogrand.gitee.io/img/coding.jpg">
<meta property="article:published_time" content="2022-10-01T16:41:10.000Z">
<meta property="article:modified_time" content="2023-03-17T15:45:33.320Z">
<meta property="article:author" content="kiloGrand">
<meta property="article:tag" content="sentiment analysis">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://kilogrand.gitee.io/img/coding.jpg"><link rel="shortcut icon" href="/img/favicon.png"><link rel="canonical" href="https://kilogrand.gitee.io/2022/10/02/nlp-sentiment-analysis-survey/"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = { 
  root: '/',
  algolia: undefined,
  localSearch: {"path":"/search.xml","preload":false,"languages":{"hits_empty":"找不到您查询的内容：${query}"}},
  translate: undefined,
  noticeOutdate: undefined,
  highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
  copy: {
    success: '复制成功',
    error: '复制错误',
    noSupport: '浏览器不支持'
  },
  relativeDate: {
    homepage: false,
    post: false
  },
  runtime: '',
  date_suffix: {
    just: '刚刚',
    min: '分钟前',
    hour: '小时前',
    day: '天前',
    month: '个月前'
  },
  copyright: undefined,
  lightbox: 'fancybox',
  Snackbar: undefined,
  source: {
    justifiedGallery: {
      js: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery@2/dist/fjGallery.min.js',
      css: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery@2/dist/fjGallery.min.css'
    }
  },
  isPhotoFigcaption: false,
  islazyload: false,
  isAnchor: true
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
  title: '情感分析简介',
  isPost: true,
  isHome: false,
  isHighlightShrink: false,
  isToc: true,
  postUpdate: '2023-03-17 23:45:33'
}</script><noscript><style type="text/css">
  #nav {
    opacity: 1
  }
  .justified-gallery img {
    opacity: 1
  }

  #recent-posts time,
  #post-meta time {
    display: inline !important
  }
</style></noscript><script>(win=>{
    win.saveToLocal = {
      set: function setWithExpiry(key, value, ttl) {
        if (ttl === 0) return
        const now = new Date()
        const expiryDay = ttl * 86400000
        const item = {
          value: value,
          expiry: now.getTime() + expiryDay,
        }
        localStorage.setItem(key, JSON.stringify(item))
      },

      get: function getWithExpiry(key) {
        const itemStr = localStorage.getItem(key)

        if (!itemStr) {
          return undefined
        }
        const item = JSON.parse(itemStr)
        const now = new Date()

        if (now.getTime() > item.expiry) {
          localStorage.removeItem(key)
          return undefined
        }
        return item.value
      }
    }
  
    win.getScript = url => new Promise((resolve, reject) => {
      const script = document.createElement('script')
      script.src = url
      script.async = true
      script.onerror = reject
      script.onload = script.onreadystatechange = function() {
        const loadState = this.readyState
        if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
        script.onload = script.onreadystatechange = null
        resolve()
      }
      document.head.appendChild(script)
    })
  
      win.activateDarkMode = function () {
        document.documentElement.setAttribute('data-theme', 'dark')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
        }
      }
      win.activateLightMode = function () {
        document.documentElement.setAttribute('data-theme', 'light')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
        }
      }
      const t = saveToLocal.get('theme')
    
          if (t === 'dark') activateDarkMode()
          else if (t === 'light') activateLightMode()
        
    const detectApple = () => {
      if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
        document.documentElement.classList.add('apple')
      }
    }
    detectApple()
    })(window)</script><meta name="generator" content="Hexo 5.4.2"></head><body><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="/img/profile.png" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">46</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">6</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">5</div></a></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 主页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 归档</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> Link</span></a></div></div></div></div><div class="post" id="body-wrap"><header class="post-bg" id="page-header" style="background-image: url('/img/coding.jpg')"><nav id="nav"><span id="blog_name"><a id="site-name" href="/">kiloGrand</a></span><div id="menus"><div id="search-button"><a class="site-page social-icon search"><i class="fas fa-search fa-fw"></i><span> 搜索</span></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 主页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 归档</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> Link</span></a></div></div><div id="toggle-menu"><a class="site-page"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="post-info"><h1 class="post-title">情感分析简介</h1><div id="post-meta"><div class="meta-firstline"><span class="post-meta-date"><i class="far fa-calendar-alt fa-fw post-meta-icon"></i><span class="post-meta-label">发表于</span><time class="post-meta-date-created" datetime="2022-10-01T16:41:10.000Z" title="发表于 2022-10-02 00:41:10">2022-10-02</time><span class="post-meta-separator">|</span><i class="fas fa-history fa-fw post-meta-icon"></i><span class="post-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2023-03-17T15:45:33.320Z" title="更新于 2023-03-17 23:45:33">2023-03-17</time></span><span class="post-meta-categories"><span class="post-meta-separator">|</span><i class="fas fa-inbox fa-fw post-meta-icon"></i><a class="post-meta-categories" href="/categories/NLP/">NLP</a></span></div><div class="meta-secondline"><span class="post-meta-separator">|</span><span class="post-meta-wordcount"><i class="far fa-file-word fa-fw post-meta-icon"></i><span class="post-meta-label">字数总计:</span><span class="word-count">8.1k</span><span class="post-meta-separator">|</span><i class="far fa-clock fa-fw post-meta-icon"></i><span class="post-meta-label">阅读时长:</span><span>26分钟</span></span><span class="post-meta-separator">|</span><span class="post-meta-pv-cv" id="" data-flag-title="情感分析简介"><i class="far fa-eye fa-fw post-meta-icon"></i><span class="post-meta-label">阅读量:</span><span id="busuanzi_value_page_pv"></span></span></div></div></div></header><main class="layout" id="content-inner"><div id="post"><article class="post-content" id="article-container"><p>本文是对情感分析这个问题(领域)的调研，对于问题的定义和介绍主要参考了<a target="_blank" rel="noopener" href="https://www.cs.uic.edu/~liub/FBS/sentiment-opinion-emotion-analysis.html">Sentiment Analysis: mining sentiments, opinions, and emotions</a>，虽然这本书写于2015年，很多当时SOTA的方法现在已经过时了，但是本书对于问题的介绍和描述非常详细和清晰，强烈建议对情感分析领域有兴趣的读者阅读。</p>
<h2 id="简介"><a href="#简介" class="headerlink" title="简介"></a>简介</h2><h3 id="术语解释"><a href="#术语解释" class="headerlink" title="术语解释"></a>术语解释</h3><p>情感分析(sentiment analysis)，也叫作观点挖掘(opinion mining)，它的研究问题是分析人们通过文本表达的对某个实体(entity)的观点(opinion)、情感(sentiment)、评价(appraisal)、态度(attitude)和情绪(emotion)。这里的实体可以是产品、服务、组织机构、个人、事件和各种话题。除了sentiment analysis之外，在学术界还有很多类似的术语，包括观点挖掘(opinion mining)、观点分析(opinion analysis)、观点抽取(opinion extraction)、情感挖掘(sentiment mining)、主(客)观分析(subjectivity analysis)、情绪分析(affect analysis)、情感分析(emotion analysis)和评论挖掘(review mining)等等。注意这些词翻译成中文后很难区分了，所以最好看对应的英文术语，当然这些英文术语的区别也会细微，后文会介绍它们的区别。这么多术语的原因之一是因为它是一个比较新的领域，很多不同领域的研究者都开始研究这个问题，因此没有形成统一的术语。除了NLP社区，数据挖掘(data minin)和信息检索(information retrieval)等很多其它领域的研究者也都在研究这个问题。</p>
<p>下面我们来介绍一下sentiment和opinion的细微区别，同时形成统一的术语体系。根据Merriam-Webster词典，sentiment是态度(attitude)、想法(thought)和情绪感觉(feeling)激发出来的意见(judgment)。而opinion是人对某一个特点事物在大脑了形成的看法(view)、判断(judgment)。它们的区别非常细微，opinion更多关注一个人对某个事物的看法(view)而sentiment更多关注情绪和感受。比如句子”I am concerned about the current state of the economy”是sentiment，它表达了说话人对于当前经济经济状况的担忧(情感)；而”I think the economy is not doing well”表达了说话人对当前经济状况(不太好的)观点。对于的一个句子，我们的回复可能是”I share your sentiment”；而对于第二个句子的回复可能是”I agree/disagree with you”。当然这两个句子是有一定相关性的，第一个句子的负面情绪可能来源于第二个句子的判断结果——因为说话人对于当前经济状况的判断是不好的，所以可能产生担忧的情绪。通常表达观点的句子是正面(positive)或者负面(negative)的情感，但是也有一下表达观点的句子不带任何情感，比如”I think he will go to Canada next year”，这个句子只是表达了”我”对于他去加拿大的一个观点而已，并没有好坏的情感。</p>
<p>在业界几乎只使用情感分析(sentiment analysis)这个术语，而学术界情感分析和观点挖掘都有被使用。我们这里并不区分情感分析和观点挖掘这两个术语。我们这里用opinion表示情感(sentiment)、评估(evaluation)、评价(appraisal)、态度(attitude)等所有相关信息，比如我们把评论的对象叫做opinion target(评论目标)；而用sentiment表示这个opinion背后隐含的正面/负面情感。前面也说过，某些观点(opinion)并不带有情感，因此我们只研究带情感的观点。在讨论正面或者负面的情感时，我们通常用中立(neutral)情感来表示不带情感的句子。除了情感和观点之外，相关的词语还包括感受(affect)、情感(emotion)和情绪(mood)，后面我们会介绍它们。</p>
<p>表达观点和情感的句子通常是主观的(subjective)而不是客观的(objective)句子，因为客观的句子通常都是描述事实。但是客观的句子可能会隐含观点和情感，尤其是描述一些不想要的(undesirable)事实的句子。比如”I bought the car yesterday and it broke today”和”after sleeping on the mattress for a month, a valley has formed in the middle”，昨天刚买的车就不能开、毯子一个月就有裂缝，这显然不是说话人想要的结果。情感分析也需要处理客观句子里的这种隐式的观点和情感。简单来说，情感分析需要分析文本里显示或者隐式表达的正面或者负面观点/情感，同时还需要找到对应的情感目标(opinion target)——比如地一个句子的是car而第二个句子是mattress。</p>
<p>在2000年之前，由于数字化的文本数据很少，情感分析很少被研究。而在2000年之后，随着数字化的文本增多以及再后来社交媒体的兴起，越来越多的研究者开始研究这个问题。除了研究单一的评论文本，一些论坛的帖子和文章的评论之间是有类似对话的上下文关系，评论者除了表达观点之外也会表达对其他评论者的赞同/反对的立场(position)。此外研究方向也逐渐扩大到对评论者的分析，比如研究怎么给评论者建档案(profile)。而且随着大家对于情感/舆情的重视，也出现了很多作弊的手段(水军)，怎么去除这些非正常的评论也逐渐变得重要，这就不仅仅是一个NLP的问题，它往往还需要分析用户的行为数据才能作出更准确的判断。</p>
<h3 id="研究问题"><a href="#研究问题" class="headerlink" title="研究问题"></a>研究问题</h3><h4 id="分析的层级"><a href="#分析的层级" class="headerlink" title="分析的层级"></a>分析的层级</h4><p>情感分析通常可以分为三个层级：文档(document)级别、句子(sentence)级别和属性(aspect)级别。下面我们简单的介绍一下这三个层级。</p>
<p><strong>文档级别</strong>，它把整个文档的情感分为正面或者负面。这可以看出一个二分类问题(不太可能有评论没有情感，因为写评论的目的就是要表达情感，即使是很弱的情感)，因此它也被叫做文档级别情感分类。比如对于一个商品的评论，我们可以分析整体上来看这个评论的情感是正面还是负面。它假设这个文档的所有评论句子针对的都是同一个实体。如果一个文档会点评多个实体，这个级别的分析就是有问题的。</p>
<p><strong>句子级别</strong>，它对文档的每个句子判定它的情感是正面的、负面的还是中立的(neutral)。和前面的文档级别不同，一些描述性的句子其实是没有任何情感的，所以这里多了一个中立的分类，它表示没有情感。这个问题和主客观分类(subjectivity classification)有一些关系——主客观分类是判断一个句子是主观的(subjective)还是客观的(objective)。通常中立的句子是客观的，而正面或者负面情感的句子是主观的。但是它们并不是完全一样的。比如”We bought the car last month and the windshield wiper has fallen off”是客观的句子，但是它描述了一个不想要(undesirable)的事情，所以它隐含了负面的情感。而句子”I think he went home after lunch”虽然是主观的，但是它没有正面或者负面的情感。</p>
<p><strong>属性级别</strong>，不管是文档级别的还是句子级别的分析都是不够精细的，比如句子级别的分析可以判断句子”I like the iPhone 5”的情感是正面的，但是它没有说明观点的对象(opinion target)是实体(entity) “iPhone 5”；而句子”The battery life of iPhone 5 is very long”的观点对象是实体”iPhone 5”的一个属性battery life。此外有点句子比如”Although the service is not great, I still love this restaurant”包含了两个观点——酒店的服务不行，酒店整体不错。从句子级别来看，上面的句子既有正面的又有负面的，而且正面的是放在转折(but)的子句里，所以也许我们从整体上可以判断句子的情感还是正面为主。但是从应用的角度来说，如果某个用户很关注服务，他看到这个评论后可能就不会选择这家酒店。最早属性是使用feature或者attribute这两词，但是在机器学习领域feature有特殊的含义，而attribute又是一个太宽泛的词汇，后来就使用了Aspect(方面)这个词来表示情感分析对象实体的某个具体属性。</p>
<p>除了按照层级分类，我们还可以把评论分析分类为普通的评论分析和比较的(comparative)评论分析。比如”Coke tastes very good”是一个普通的情感表示，它表示了说话人对实体Coke的味道。而”Coke tastes better than Pepsi”是一个比较的评论，它说明Coke的味道要比Pepsi好。</p>
<h4 id="基于情感词典的方法"><a href="#基于情感词典的方法" class="headerlink" title="基于情感词典的方法"></a>基于情感词典的方法</h4><p>判断情感倾向最重要的就是情感词语(sentiment word)，也叫做观点词语(opinion word)。比如”good”、”wonderful”和”amazing”是正面的情感词语，而”bad”、”poor”和”terrible”是负面的情感词语。除了词外，还有一些短语也能表达情感倾向，比如”cost an arm and a leg”(花费高昂代价)。因此构造一个情感词典来用于情感分类(规则或者把词典作为特征)是非常自然的想法。但是情感分析是一个非常复杂的问题，光参考情感词语或者短语是远远不够的。它不能解决如下的一些问题：</p>
<ul>
<li><p>一个词在不同的上下文下的情感方向(orientation)/极性(polarity)是不同的。</p>
<ul>
<li>suck这个词，通常表示负面的情绪，比如句子”This camera sucks”。但是在句子”This vacuum cleaner really sucks”里sucks是说明吸尘器很能吸，这是正面的。另外有一些词的极性依赖与修饰的名词，比如”大”没有特定的极性，说酒店房间大则是正面的，而说噪声大就是负面的。</li>
</ul>
</li>
<li><p>包含情感词语的句子不见得有情感倾向</p>
<ul>
<li>比如句子”Can you tell me which Sony camera is good?”和”If I can find a good camera in the shop, I will buy it.”这两个句子没有任何情感倾向。第一个句子是疑问句，一般(但不是绝对)不包含情感倾向；第二个句子good是在条件从句，所以也不表示情感。注意，并不是所有的疑问句和条件从句都没有情感，比如”Does anyone know how to repair this terrible printer?”和”If you are looking for a good car, get a Ford Focus.”都有情感。</li>
</ul>
</li>
<li><p>反讽和期望的句子很难处理</p>
<ul>
<li>比如”What a great car! It stopped working in two days.”和”要是房间再大一点就好了”，如果只看情感词语，great car和”房间大”都是正面的，但是实际语义恰恰相反。</li>
</ul>
</li>
<li><p>没有情感词语的句子也能表达情感</p>
<ul>
<li>比如”This washer uses a lot of water”没有情感词语，它是一个客观的陈述句，但是根据常识，它描述的是我们不想要的现象，因此可以推测这是一个负面的情感。</li>
</ul>
</li>
</ul>
<p>上面只是情感分析的部分困难示例，这些困难用情感词典很难解决。</p>
<h4 id="Debate和Comment"><a href="#Debate和Comment" class="headerlink" title="Debate和Comment"></a>Debate和Comment</h4><p>社交媒体上有两种情感文本：独立的帖子(post)，比如review和blog；在线的对话，包括debate和comment。比如论坛的帖子，大家会对某个话题进行辩论(debate)。注意：review和comment翻译成中文都是评论，但是这里用review表示单个的独立的表达观点和情感的文档，而comment表示那种对话式的评论。comment可以是对主题贴(review)的看法——赞同或者反对，也可以针对评论的对象的提问，甚至是对前面提问的回答。这里涉及多个人，可能是主题贴的作者和评论者的对话，也可能是评论者之间的对话。</p>
<h4 id="挖掘意图-Mining-Intention"><a href="#挖掘意图-Mining-Intention" class="headerlink" title="挖掘意图(Mining Intention)"></a>挖掘意图(Mining Intention)</h4><p>意图(Intention)是人们想要采取的行为(action)。意图和情感是两个不同的概念，但是它们也有一定的关联。比如”I am dying to see Life of Pi”，说话人想要看电影的意图非常强烈，说明它对这部电影很可能就是正面的情感。类似的，”I want to buy an iPhone 5”，想要购买某个商品可以推测他对这个商品是正面的情感。此外，某些表达意图的句子就是在表达情感，比如”我想把这个手机扔了”和”我想把手机退了”，明显就在表达非常负面的情绪。</p>
<h4 id="评论的Spam-Detection和评论质量评估"><a href="#评论的Spam-Detection和评论质量评估" class="headerlink" title="评论的Spam Detection和评论质量评估"></a>评论的Spam Detection和评论质量评估</h4><p>社交媒体的优点是可以匿名的自由发表言论，但是这也会让一些不法分子有可乘之机。在各种利益的驱使下，很多人会发表”假的”评论来提高某些商品的评价得分。这些人被叫做opinion spammer，而他们的行为叫做opinion spamming。为了检测这些评论和评论者，我们不仅仅需要用的文本的语义内容(比如为了刷榜的评论一般比较短，用比较空虚的句子，当然也有很专业的五毛党写的让你看不出来)，还需要使用用户的行为数据。与之相关的一个问题是评估评论的质量，它的作用是把好的评论排序在前面让用户看到，另外在排序商品的时候一般也需要更多参考质量高的评论。</p>
<h2 id="问题的形式化定义"><a href="#问题的形式化定义" class="headerlink" title="问题的形式化定义"></a>问题的形式化定义</h2><h3 id="观点-Opinion-的定义"><a href="#观点-Opinion-的定义" class="headerlink" title="观点(Opinion)的定义"></a>观点(Opinion)的定义</h3><p>如前面所述，情感分析主要关注表达正面或者负面的情感的观点。我们用观点(Opinion)表示非常广的概念，它包括情感(sentiment)、评价和态度以及评价的对象(opinion target)和评论者(opinion holder)。而情感(sentiment)只表示观点(opinion)的情感极性是正面还是负面的。</p>
<h4 id="Opinion的定义"><a href="#Opinion的定义" class="headerlink" title="Opinion的定义"></a>Opinion的定义</h4><p>我们使用下面的例子来说明Opinion的定义，为了方便引用对每个句子做了编号：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">评论者：John Smith            日期：September 10, 2011</span><br><span class="line">(1) I bought a Canon G12 camera six months ago. </span><br><span class="line">(2) I simply love it. </span><br><span class="line">(3) The picture quality is amazing. </span><br><span class="line">(4) The battery life is also long. </span><br><span class="line">(5) However, my wife thinks it is too heavy for her.</span><br></pre></td></tr></table></figure>
<p>上面的评论对于产品Canon G12有许多评论。第2个句子对于它的整体持正面的评价。第3个句子对它的picture equality属性持正面评价。第4个句子对它的battery life属性也是正面评价。而第5个句子对于它的weight属性持负面评价。</p>
<p>一个观点有两个要素：对象(target)和情感(sentiment)。我们用(g,s)来表示这两个要素，其中g可以是某个实体(比如Canon G12)或者实体的某个属性(比如Canon G12的battery life)；而s表示情感极性，它的取值可以是正面的、负面的和中性的或者连续的实数值，比如Canon G12的battery life是正面的。</p>
<p>另外观点还包含观点的持有者(评论者)，比如第2个句子的观点持有者是”我”而第5个句子的持有者是”my wife”。</p>
<p>最好观点还有一个时间，这样我们可以分析大量观点随时间的变化规律。在上面的例子里，观点的(发布)时间是2011年9月10日。</p>
<p>因此，观点的定义是一个四元组(g, s, h, t)，其中：</p>
<ul>
<li>g是情感的对象</li>
<li>s是情感</li>
<li>h是持有者</li>
<li>t是时间</li>
</ul>
<p>这里需要说明一下的是观点有一个对象(target)，这有两个用处。首先对于一个包含两个对象的句子，我们可以分开处理。比如句子”Apple is doing very well in this poor economy”同时保护两个观点，如果用句子级别的情感分类是没有办法处理的。有了观点的对象，我们知道对Apple的情感是正面的，而对economy的是负面的。第二个好处是情感词语的极性有时和对象有关，比如”大”和”房间”搭配时就是正面的而与”噪声”搭配就是负面的。</p>
<p>这里定义的是普通的观点，对于比较性的观点需要不同的定义，后面我们再介绍。</p>
<h4 id="情感对象-sentiment-target"><a href="#情感对象-sentiment-target" class="headerlink" title="情感对象(sentiment target)"></a>情感对象(sentiment target)</h4><ul>
<li><p>情感对象</p>
<ul>
<li>情感对象(sentiment target)也叫观点对象(opinion target)，是这个观点针对的实体或者实体的某个属性。</li>
</ul>
</li>
</ul>
<p>比如前面的例子里的第3个句子，情感对象是Canon G12的picture quality属性。注意：虽然句子中没有出现Canon G12，但是它隐含指代的对象是Canon G12。</p>
<ul>
<li><p>实体(entity)</p>
<ul>
<li>一个实体e可能是一个产品、服务、主题、人、组织机构等。它可以表示为一个pair e=(T,W)，其中T是它的部件(part)的集合，而每一个部件又是一个实体(递归定义)；W是实体e的属性集合。e的部件或者子部件也可能有属性。</li>
</ul>
</li>
</ul>
<p>比如Canon G12这个特定的照相机就是一个实体。它包含picture qulity、size和weight等属性，同时它包含lens、viewfinder和battery等部件。battery也是一个实体，它包含battery life和battery weight等属性。上面的定义通过part-of关系定义了对象的树状层次结构。根节点是实体，比如Canon G12。我们评论的对象可以是某个子部件的属性，比如battery的battery life这个属性。当然我们也可以评论子部件整体，比如说battery很好。也就是说，这棵树的每一个节点(实体)和节点的属性都可以成为评论的对象。</p>
<h4 id="观点的情感-opinion-sentiment"><a href="#观点的情感-opinion-sentiment" class="headerlink" title="观点的情感(opinion sentiment)"></a>观点的情感(opinion sentiment)</h4><ul>
<li>观点的情感是某个观点表达的感受、态度、评价或者情绪。它可以表示为三元组(y, o, i)，其中<ul>
<li>y是情感类型(type)</li>
<li>o是情感的极性</li>
<li>i是情感的强度</li>
</ul>
</li>
</ul>
<p>情感类型可以分为理性情感和感性情感。</p>
<ul>
<li>理性(rational)情感<ul>
<li>理性的情感来自于理性的推理、实际的信念和实用主义的态度。它不(直接)包含强烈的个人情绪。</li>
</ul>
</li>
</ul>
<p>比如”The voice of this phone is clear.”和”This car is worth the price.”这两个句子就是理性的情感类型。</p>
<ul>
<li>感性(emotional)情感<ul>
<li>感性情感来自于人内心深处的心理学状态，它是对某个实体无形的和情绪的反应。</li>
</ul>
</li>
</ul>
<p>比如句子”I love the iPhone”, “I am so angry with their service people”, “This is the best car ever”和”After our team won, I cried.”就是感性的情感。感性的情感通常要比理性的情感更加强烈，对于营销来说，我们期望用户的情感能上升到感性层次，比如用户说”iPhone is good”，那他还不见得会买单，但是如果他说”I love iPhone”，那么离转化就不远了。</p>
<p>情感倾向(sentiment orientation)可以是正面的(positive)、负面的(negative)和中立的(neutral)。情感倾向也被叫做情感极性(polarity)和立场(valence)。</p>
<p>情感强度(sentiment intensity)表示情感的强烈程度。比如good要比excellent弱，而dislike要比detest弱。理论上我们可以用一个连续的实数值来表示情感的强弱，但是实际人都很难做这么细粒度的区分。因此在实际应用中，我们通常把情感强度分为5级别，比如1星到5星：</p>
<ul>
<li>5星 感性的正面情感</li>
<li>4星 理性的正面情感</li>
<li>3星 中立的情感</li>
<li>2星 理性的负面情感</li>
<li>1星 感性的负面情感</li>
</ul>
<h4 id="简化的观点定义"><a href="#简化的观点定义" class="headerlink" title="简化的观点定义"></a>简化的观点定义</h4><p>前面的观点定义关于实体的定义包含递归，使用起来过于复杂，这里我们介绍简化版本的定义。我们这里把对象简化成实体和aspect，也就是把子部件和属性都称为aspect。对于观点的情感(sentiment)，不管是正面的、负面的和中立的还是1星到5星，我们都可以用一个数值来表示，比如-1表示负面的而0表示中立的而1表示正面的。</p>
<p>这样我们得到简化版本的观点定义，它是一个五元组(e, a, s, h, t)，其中：</p>
<ul>
<li>e代表实体(entity)</li>
<li>a代表aspect，可以是实体的属性，也可以是子部件或者子部件的属性</li>
<li>s表示一个数值，表示不同的情感</li>
<li>h是观点的持有者</li>
<li>t是时间</li>
</ul>
<p>如果评论的对象是entity这个整体，比如”I love iPhone 5”，则entity是”iPhone 5”，而aspect是特殊的”GENERAL”。上面这样定义的情感分析叫做基于aspect的情感分析(aspected based sentiment analysis)，用首字母缩写为ABSA。</p>
<h4 id="观点的理由-reason-和限定词-qualifier"><a href="#观点的理由-reason-和限定词-qualifier" class="headerlink" title="观点的理由(reason)和限定词(qualifier)"></a>观点的理由(reason)和限定词(qualifier)</h4><p>除了前面的五元组，我们还可以提前观点里的更多信息。比如句子”This car is too small for a tall person”，实体是”this car”，aspect是size，sentiment是负面的，观点持有者是说话人，时间是说话的时间。除此之外，我们还可以分析得到持有这个观点的理由是”too small”，并且这个观点还有一个限制条件”for a tall person”。因此对于一个不那么高的人来说，也许这个车的size并不是负面的。</p>
<ul>
<li>观点的理由<ul>
<li>观点的理由是持有这个观点的理由或者解释</li>
</ul>
</li>
</ul>
<p>对于很多应用来说，知道理由是很有用的。比如”do not like the picture quality of this camera”只告诉我们照相机的拍摄质量有问题，但是”I do not like the picture quality of this camera because the pictures are quite dark.”还能告诉我们拍摄质量不好的解释(现象)是因为拍出来的照片太黑，这可以指导厂家改进产品。</p>
<ul>
<li>观点的限定词<ul>
<li>观点的限定词是一些限制条件，在满足这些条件下此观点才成立</li>
</ul>
</li>
</ul>
<p>比如”This car is too small for a tall person”，它说明只要对于高个来说车太小，但是并不是对所有的人来说都小。个子并不那么高的人可能不会在意这一点。并不是每个观点都有理由或者限定词，而且理由和限定词也可能和评论的主要内容出现在不同的句子里，这也会让抽取变得更加困难。比如”The picture quality of this camera is not great. Pictures of night shots are very dark.”，理由出现在第二个句子里。而”I am six feet five inches tall. This car is too small for me.”的限定词出现在地一个句子里。</p>
<h4 id="情感分析的目标和任务"><a href="#情感分析的目标和任务" class="headerlink" title="情感分析的目标和任务"></a>情感分析的目标和任务</h4><p>有了前面观点的定义之后，我们就可以定义情感分析的目标和任务了。给定一个文档d，情感分析的目标就是找出其中所有的观点五元组(e, a, s, h, t)。对于更复杂的场景，我们可能还需要抽取观点的理由和限定词。</p>
<p>第一个抽取任务就是识别五元组中的实体。这和NLP的命名实体识别(NER)有一点关系，比如产品名称等通常就是命名实体。但是观点里的实体并不都是命名实体，比如”I hate tax increase”这个观点的实体是抽象的概念”tax increase”，这不是命名实体。</p>
<p>识别出实体之后，我们还需要”归一化”。我们需要定义一个实体类别(entity category)，比如iphone_5(它只是一个ID)，而它的不同文字描述比如”iPhone5”，”iphone 5”和”苹果5”都是对应这个实体类别。这些不同的文字叫做实体表示(entity expression)或者entity mention(不知道咋翻译好)。</p>
<p>aspect也是一样，比如camera的”picture”, “image”和”photo”指得都是同一个aspect。因此我们也有aspect category和aspect expression。</p>
<p>aspect expression通常都是名词和名词短语，但是也可以是动词、形容词、副词等其它词类。aspect expression可以分为显式的和隐式的。</p>
<ul>
<li><p>显式的aspect expression</p>
<ul>
<li>显式的aspect expression是文本里的名词或者名词短语。比如”The picture quality of this camera is great”中，picture quality这个aspect expression是名词短语。</li>
</ul>
</li>
<li><p>隐式的aspect expression</p>
<ul>
<li>隐式的aspect expression通常通过形容词来隐含的表示。比如”This camera is expensive”，对应的aspect是price，这是通过形容词expensive来推断出来的。除了形容词，动词也可以隐含aspect，比如”I can install the software easily”，通过动词install可以推断出aspect是installation。此外还有更加复杂的隐式aspect expression，比如”This camera will not easily fit in my pocket”，能放到口袋里(fit in my pocket)说明它的size这个aspect；而”This restaurant closes too early”说明餐馆的下班时间这个aspect。为了理解这样的aspect，我们还需要世界知识，这是非常困难的。</li>
</ul>
</li>
</ul>
<p>下面我们定义情感分析的具体任务。</p>
<ul>
<li><p>实体抽取(entity extraction)和指代消解(resolution)</p>
<ul>
<li>识别文档d里的所有entity expression，然后根据指代是否同一个实体把它们分组起来(或者叫归一化成一个ID)。</li>
</ul>
</li>
<li><p>aspect抽取和指代消解</p>
<ul>
<li>和实体类似，只不过处理aspect</li>
</ul>
</li>
<li><p>观点持有者的抽取和指代消解</p>
<ul>
<li>抽取观点的持有者并进行指代消解</li>
</ul>
</li>
<li><p>时间抽取和归一化</p>
</li>
<li><p>aspect的情感分类/回归</p>
<ul>
<li>判断某个aspect的情感分类或者预测连续的情感强度</li>
</ul>
</li>
<li><p>生成所有的观点五元组</p>
</li>
<li><p>抽取观点的原因</p>
</li>
<li><p>抽取观点的限定词</p>
</li>
</ul>
<p>最后两个任务是非常困难的，而且很多观点并不包含，在实际应用中很少会处理它们。下面我们通过一个例子来说明不同的任务需要做哪些事情。我们的例子为：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">Review B: Posted by bigJohn     Date: September 15, 2011</span><br><span class="line">(1) I bought a Samsung camera and my friend brought a Canon camera yesterday.</span><br><span class="line">(2) In the past week, we both used the cameras a lot. </span><br><span class="line">(3) The photos from my Samy are not clear for night shots, and the battery life is short too. </span><br><span class="line">(4) My friend was very happy with his camera and loves its picture quality. </span><br><span class="line">(5) I want a camera that can take good photos. </span><br><span class="line">(6) I am going to return it tomorrow.</span><br></pre></td></tr></table></figure>
<p>第1个任务需要抽取entity expression Samsung和Samy，然后把它们放到一个cateory里面，而Canon是另外一个category。第2个任务需要抽取picture, photo和battery life，并且把picture和photo放到一起。而第3个任务需要抽取第3句话对应的观点的持有者是bigJohn，第4句话对于观点的持有者是bigJohn的朋友。任务4需要抽取时间为”September 15, 2011”。任务5需要识别第3句话对于Samy的photo这个aspect是负面的，battery life也是负面的；而第4个句子关于Canon整体(GENERAL这个aspect)是正面的，关于它的picture这个aspect也是正面的。</p>
<p>为了完成任务5，我们还需要知道句子his camera和its指代的是哪个实体。任务5应该生成如下的五元组：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">1. (Samsung, picture_quality, negative, bigJohn, Sept-15-2011)</span><br><span class="line">2. (Samsung, battery_life, negative, bigJohn, Sept-15-2011)</span><br><span class="line">3. (Canon, GENERAL, positive, bigJohn’s_friend, Sept-15-2011)</span><br><span class="line">4. (Canon, picture_quality, positive, bigJohn’s_friend, Sept-15-2011)</span><br></pre></td></tr></table></figure>
<p>如果再加上任务6和7，则生成的结果为：</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><span class="line">1. (Samsung, picture_quality, negative, bigJohn, Sept-15-2011)</span><br><span class="line">    Reason for opinion: picture not clear</span><br><span class="line">    Qualifier of opinion: night shots</span><br><span class="line">2. (Samsung, battery_life, negative, bigJohn, Sept-15-2011)</span><br><span class="line">    Reason for opinion: short battery life</span><br><span class="line">    Qualifier of opinion: none</span><br><span class="line">3. (Canon, GENERAL, positive, bigJohn’s_friend, Sept-15-2011)</span><br><span class="line">    Reason for opinion: none</span><br><span class="line">    Qualifier of opinion: none</span><br><span class="line">4. (Canon, picture_quality, positive, bigJohn’s_friend, Sept-15-2011)</span><br><span class="line">    Reason for opinion: none</span><br><span class="line">    Qualifier of opinion: none</span><br></pre></td></tr></table></figure>
<h3 id="感受-Affect-、情感-Emotion-和情绪-Mood"><a href="#感受-Affect-、情感-Emotion-和情绪-Mood" class="headerlink" title="感受(Affect)、情感(Emotion)和情绪(Mood)"></a>感受(Affect)、情感(Emotion)和情绪(Mood)</h3><p>接下来我们讨论一下感性(emotional)情感，它涉及感受(Affect)、情感(Emotion)和情绪(Mood)。我们这里只是介绍这些概念的区别和联系，因为这些都是人的精神状态，很多时候都是通过行为和表情来表现。即使通过语言来描述自己的这些感受，也通常是非常困难的。</p>
<p>首先我们来看这些概念字面上的定义，这里还增加了Feeling。</p>
<ul>
<li><p>Affect</p>
<ul>
<li>感受或者情感，通常会通过面部表情和身体语言表现出来</li>
</ul>
</li>
<li><p>Emotion</p>
<ul>
<li></li>
</ul>
</li>
<li><p>Mood</p>
<ul>
<li>精神或者情感的状态</li>
</ul>
</li>
<li><p>Feeling</p>
<ul>
<li>意识的情感状态</li>
</ul>
</li>
</ul>
<p>从字面上很难区分这些概念，下面我们通过一些例子来体会它们的细微区别。Affect是比较基本的感受，比如在看一个恐怖电影，我们会感受到恐怖这种感觉。我们的大脑会处理这种基本的感觉，然后产生一些Emotion，比如哭泣和尖叫。因此，Emotion是Affect的表现，它通常有一个对象，比如一个人，一件事或者一个物体，它是非常强烈并且持续时间不会太长。Mood和Emotion类似，都是一种情感状态。但是它通常没有特定的对象，而且持续时间比较长，我们也甚至不会意识到它。比如开心的情绪，它不是针对某个对象。</p>
<p>Emotion和Mood的区别是：Emotion通常很强烈而很短暂，而Mood更加分散和持久。比如生气就是一种Emotion，我们可能会非常生气，并且对某一个人或者事生气，但是我们很难一直保持生气。生气这种Emotion可能会转变成暴躁的情绪，这种情绪可能会持续很长时间。Emotion是非常具体的，比如某个事情可能会让我们生气。而Mood是比较模糊的，我们的暴躁情绪不是针对某一件事，我们在暴躁的情绪下可能对任何事情都容易生气。</p>
<p>不同的心理学研究者会定义各种不同的Emotion和Mood，因为我们从计算的角度来说不太能够准确的定义它们，而且实际应用中也比较少，所以这里不再分析这些具体的Emotion和Mood了。</p>
<h3 id="观点-Opinion-的分类"><a href="#观点-Opinion-的分类" class="headerlink" title="观点(Opinion)的分类"></a>观点(Opinion)的分类</h3><p>观点可以从各种不同的维度来分类，下面我们讨论一些常见的分类方法，目的是了解不同观点的特点，从而为后面的算法提供一些sense。</p>
<h4 id="普通观点和比较观点"><a href="#普通观点和比较观点" class="headerlink" title="普通观点和比较观点"></a>普通观点和比较观点</h4><ul>
<li>普通观点<ul>
<li>我们一般讨论的观点都是普通观点，它是针对一个实体或者一个实体的属性进行描述，它有可以分为直接(direct)观点和间接(indirect)u观点两大类。</li>
</ul>
</li>
</ul>
<p>直接观点直接描述一个实体或者实体的属性，比如”The picture quality is great”这个句子直接描述”picture quality”这个属性的好坏。而间接观点通过它的后果等间接描述，比如”After injection of the drug, my joints felt worse”，这个句子并没有直接说药效，而是说它的后果造成我的关节变得更痛了来间接说明效果不好，这通常需要世界知识来判断。</p>
<ul>
<li>比较观点<ul>
<li>比较观点会对比两个实体，比如”Coke tastes better than Pepsi”。</li>
</ul>
</li>
</ul>
<h4 id="主观性观点和事实隐含类-Fact-Implied-观点"><a href="#主观性观点和事实隐含类-Fact-Implied-观点" class="headerlink" title="主观性观点和事实隐含类(Fact-Implied)观点"></a>主观性观点和事实隐含类(Fact-Implied)观点</h4><p>观点本身是主观的个人的看法，因此很多时候是通过主观的句子来表达观点。但是如前面介绍的，通过客观的描述一些我们想要或者不想要的事实，也能间接的表达观点，比如说车买回来没两天就坏了。</p>
<h4 id="第一人称观点和非第一人称观点"><a href="#第一人称观点和非第一人称观点" class="headerlink" title="第一人称观点和非第一人称观点"></a>第一人称观点和非第一人称观点</h4><p>用第一人称观点直接表达说话人的观点，而第三人称观点描述其他人的观点。</p>
</article><div class="post-copyright"><div class="post-copyright__author"><span class="post-copyright-meta">文章作者: </span><span class="post-copyright-info"><a href="https://kilogrand.gitee.io">kiloGrand</a></span></div><div class="post-copyright__type"><span class="post-copyright-meta">文章链接: </span><span class="post-copyright-info"><a href="https://kilogrand.gitee.io/2022/10/02/nlp-sentiment-analysis-survey/">https://kilogrand.gitee.io/2022/10/02/nlp-sentiment-analysis-survey/</a></span></div><div class="post-copyright__notice"><span class="post-copyright-meta">版权声明: </span><span class="post-copyright-info">本博客所有文章除特别声明外，均采用 <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank">CC BY-NC-SA 4.0</a> 许可协议。转载请注明来自 <a href="https://kilogrand.gitee.io" target="_blank">kiloGrand</a>！</span></div></div><div class="tag_share"><div class="post-meta__tag-list"><a class="post-meta__tags" href="/tags/sentiment-analysis/">sentiment analysis</a></div><div class="post_share"></div></div><nav class="pagination-post" id="pagination"><div class="prev-post pull-left"><a href="/2022/10/01/nlp-sentiment-analysis-dataset/"><img class="prev-cover" src="/img/coding.jpg" onerror="onerror=null;src='/img/404.jpg'" alt="cover of previous post"><div class="pagination-info"><div class="label">上一篇</div><div class="prev_info">情感分析常见数据集介绍</div></div></a></div><div class="next-post pull-right"><a href="/2022/10/03/nlp-sentiment-analysis-bert-atsc/"><img class="next-cover" src="/img/coding.jpg" onerror="onerror=null;src='/img/404.jpg'" alt="cover of next post"><div class="pagination-info"><div class="label">下一篇</div><div class="next_info">BERT在情感分析ATSC子任务的应用</div></div></a></div></nav><div class="relatedPosts"><div class="headline"><i class="fas fa-thumbs-up fa-fw"></i><span>相关推荐</span></div><div class="relatedPosts-list"><div><a href="/2022/10/03/nlp-sentiment-analysis-bert-atsc/" title="BERT在情感分析ATSC子任务的应用"><img class="cover" src="/img/coding.jpg" alt="cover"><div class="content is-center"><div class="date"><i class="far fa-calendar-alt fa-fw"></i> 2022-10-03</div><div class="title">BERT在情感分析ATSC子任务的应用</div></div></a></div><div><a href="/2022/10/01/nlp-sentiment-analysis-dataset/" title="情感分析常见数据集介绍"><img class="cover" src="/img/coding.jpg" alt="cover"><div class="content is-center"><div class="date"><i class="far fa-calendar-alt fa-fw"></i> 2022-10-01</div><div class="title">情感分析常见数据集介绍</div></div></a></div></div></div></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src="/img/profile.png" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">kiloGrand</div><div class="author-info__description">coder && data-science researcher</div></div><div class="card-info-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">46</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">6</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">5</div></a></div><a id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/kiloGrand/"><i class="fab fa-github"></i><span>Follow Me</span></a></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>公告</span></div><div class="announcement_content">This is my Blog</div></div><div class="sticky_layout"><div class="card-widget" id="card-toc"><div class="item-headline"><i class="fas fa-stream"></i><span>目录</span><span class="toc-percentage"></span></div><div class="toc-content"><ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%AE%80%E4%BB%8B"><span class="toc-number">1.</span> <span class="toc-text">简介</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%9C%AF%E8%AF%AD%E8%A7%A3%E9%87%8A"><span class="toc-number">1.1.</span> <span class="toc-text">术语解释</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E7%A0%94%E7%A9%B6%E9%97%AE%E9%A2%98"><span class="toc-number">1.2.</span> <span class="toc-text">研究问题</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E5%88%86%E6%9E%90%E7%9A%84%E5%B1%82%E7%BA%A7"><span class="toc-number">1.2.1.</span> <span class="toc-text">分析的层级</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E5%9F%BA%E4%BA%8E%E6%83%85%E6%84%9F%E8%AF%8D%E5%85%B8%E7%9A%84%E6%96%B9%E6%B3%95"><span class="toc-number">1.2.2.</span> <span class="toc-text">基于情感词典的方法</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#Debate%E5%92%8CComment"><span class="toc-number">1.2.3.</span> <span class="toc-text">Debate和Comment</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%8C%96%E6%8E%98%E6%84%8F%E5%9B%BE-Mining-Intention"><span class="toc-number">1.2.4.</span> <span class="toc-text">挖掘意图(Mining Intention)</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E8%AF%84%E8%AE%BA%E7%9A%84Spam-Detection%E5%92%8C%E8%AF%84%E8%AE%BA%E8%B4%A8%E9%87%8F%E8%AF%84%E4%BC%B0"><span class="toc-number">1.2.5.</span> <span class="toc-text">评论的Spam Detection和评论质量评估</span></a></li></ol></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E9%97%AE%E9%A2%98%E7%9A%84%E5%BD%A2%E5%BC%8F%E5%8C%96%E5%AE%9A%E4%B9%89"><span class="toc-number">2.</span> <span class="toc-text">问题的形式化定义</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E8%A7%82%E7%82%B9-Opinion-%E7%9A%84%E5%AE%9A%E4%B9%89"><span class="toc-number">2.1.</span> <span class="toc-text">观点(Opinion)的定义</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#Opinion%E7%9A%84%E5%AE%9A%E4%B9%89"><span class="toc-number">2.1.1.</span> <span class="toc-text">Opinion的定义</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%83%85%E6%84%9F%E5%AF%B9%E8%B1%A1-sentiment-target"><span class="toc-number">2.1.2.</span> <span class="toc-text">情感对象(sentiment target)</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E8%A7%82%E7%82%B9%E7%9A%84%E6%83%85%E6%84%9F-opinion-sentiment"><span class="toc-number">2.1.3.</span> <span class="toc-text">观点的情感(opinion sentiment)</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E7%AE%80%E5%8C%96%E7%9A%84%E8%A7%82%E7%82%B9%E5%AE%9A%E4%B9%89"><span class="toc-number">2.1.4.</span> <span class="toc-text">简化的观点定义</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E8%A7%82%E7%82%B9%E7%9A%84%E7%90%86%E7%94%B1-reason-%E5%92%8C%E9%99%90%E5%AE%9A%E8%AF%8D-qualifier"><span class="toc-number">2.1.5.</span> <span class="toc-text">观点的理由(reason)和限定词(qualifier)</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%83%85%E6%84%9F%E5%88%86%E6%9E%90%E7%9A%84%E7%9B%AE%E6%A0%87%E5%92%8C%E4%BB%BB%E5%8A%A1"><span class="toc-number">2.1.6.</span> <span class="toc-text">情感分析的目标和任务</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%84%9F%E5%8F%97-Affect-%E3%80%81%E6%83%85%E6%84%9F-Emotion-%E5%92%8C%E6%83%85%E7%BB%AA-Mood"><span class="toc-number">2.2.</span> <span class="toc-text">感受(Affect)、情感(Emotion)和情绪(Mood)</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E8%A7%82%E7%82%B9-Opinion-%E7%9A%84%E5%88%86%E7%B1%BB"><span class="toc-number">2.3.</span> <span class="toc-text">观点(Opinion)的分类</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%99%AE%E9%80%9A%E8%A7%82%E7%82%B9%E5%92%8C%E6%AF%94%E8%BE%83%E8%A7%82%E7%82%B9"><span class="toc-number">2.3.1.</span> <span class="toc-text">普通观点和比较观点</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E4%B8%BB%E8%A7%82%E6%80%A7%E8%A7%82%E7%82%B9%E5%92%8C%E4%BA%8B%E5%AE%9E%E9%9A%90%E5%90%AB%E7%B1%BB-Fact-Implied-%E8%A7%82%E7%82%B9"><span class="toc-number">2.3.2.</span> <span class="toc-text">主观性观点和事实隐含类(Fact-Implied)观点</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E7%AC%AC%E4%B8%80%E4%BA%BA%E7%A7%B0%E8%A7%82%E7%82%B9%E5%92%8C%E9%9D%9E%E7%AC%AC%E4%B8%80%E4%BA%BA%E7%A7%B0%E8%A7%82%E7%82%B9"><span class="toc-number">2.3.3.</span> <span class="toc-text">第一人称观点和非第一人称观点</span></a></li></ol></li></ol></li></ol></div></div><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2023/03/24/kuiper_infer-L14/" title="自制深度学习框架--实现Yolov5的推理">自制深度学习框架--实现Yolov5的推理</a><time datetime="2023-03-24T12:00:00.000Z" title="发表于 2023-03-24 20:00:00">2023-03-24</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2023/03/23/kuiper_infer-L13/" title="自制深度学习框架--实现ResNet网络的推理">自制深度学习框架--实现ResNet网络的推理</a><time datetime="2023-03-23T12:00:00.000Z" title="发表于 2023-03-23 20:00:00">2023-03-23</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2023/03/22/kuiper_infer-L12/" title="自制深度学习框架--算子的执行流程">自制深度学习框架--算子的执行流程</a><time datetime="2023-03-22T12:00:00.000Z" title="发表于 2023-03-22 20:00:00">2023-03-22</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2023/03/21/kuiper_infer-L11/" title="自制深度学习框架--再探Tensor类并构建计算图的图关系">自制深度学习框架--再探Tensor类并构建计算图的图关系</a><time datetime="2023-03-21T12:00:00.000Z" title="发表于 2023-03-21 20:00:00">2023-03-21</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2023/03/20/kuiper_infer-L10/" title="自制深度学习框架--Im2Col原理与卷积层的实现">自制深度学习框架--Im2Col原理与卷积层的实现</a><time datetime="2023-03-20T12:00:00.000Z" title="发表于 2023-03-20 20:00:00">2023-03-20</time></div></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div class="copyright">&copy;2022 - 2023 By kiloGrand</div><div class="footer_custom_text">Hi, welcome to my blog!</div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="readmode" type="button" title="阅读模式"><i class="fas fa-book-open"></i></button><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button class="close" id="mobile-toc-button" type="button" title="目录"><i class="fas fa-list-ul"></i></button><button id="go-up" type="button" title="回到顶部"><i class="fas fa-arrow-up"></i></button></div></div><div id="local-search"><div class="search-dialog"><nav class="search-nav"><span class="search-dialog-title">搜索</span><span id="loading-status"></span><button class="search-close-button"><i class="fas fa-times"></i></button></nav><div class="is-center" id="loading-database"><i class="fas fa-spinner fa-pulse"></i><span>  数据库加载中</span></div><div class="search-wrap"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="搜索文章" type="text"/></div></div><hr/><div id="local-search-results"></div></div></div><div id="search-mask"></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.umd.js"></script><script src="/js/search/local-search.js"></script><div class="js-pjax"><script>if (!window.MathJax) {
  window.MathJax = {
    tex: {
      inlineMath: [ ['$','$'], ["\\(","\\)"]],
      tags: 'ams'
    },
    chtml: {
      scale: 1.2
    },
    options: {
      renderActions: {
        findScript: [10, doc => {
          for (const node of document.querySelectorAll('script[type^="math/tex"]')) {
            const display = !!node.type.match(/; *mode=display/)
            const math = new doc.options.MathItem(node.textContent, doc.inputJax[0], display)
            const text = document.createTextNode('')
            node.parentNode.replaceChild(text, node)
            math.start = {node: text, delim: '', n: 0}
            math.end = {node: text, delim: '', n: 0}
            doc.math.push(math)
          }
        }, ''],
        insertScript: [200, () => {
          document.querySelectorAll('mjx-container:not\([display]\)').forEach(node => {
            const target = node.parentNode
            if (target.nodeName.toLowerCase() === 'li') {
              target.parentNode.classList.add('has-jax')
            } else {
              target.classList.add('has-jax')
            }
          });
        }, '', false]
      }
    }
  }
  
  const script = document.createElement('script')
  script.src = 'https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js'
  script.id = 'MathJax-script'
  script.async = true
  document.head.appendChild(script)
} else {
  MathJax.startup.document.state(0)
  MathJax.texReset()
  MathJax.typeset()
}</script></div><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>